package com.nextel.project.cliente.mvc;

import com.nextel.project.Configuracion;
import com.nextel.project.cliente.ControlCliente;
import com.nextel.project.stock.ControlStock;
import com.nextel.project.cobranza.ControlCobranza;
import com.nextel.project.pedido.ControlPedido;
import com.nextel.project.usuario.ControlUsuario;
import com.nextel.ui.ODropDownList;
import com.nextel.ui.OLabel;
import com.nextel.ui.OSoftKey;
import com.nextel.ui.OTextField;
import com.nextel.ui.OUILook;
import com.nextel.ui.custom.OTextFieldDecimal;
import javax.microedition.lcdui.Graphics;
import pe.com.nextel.idioma.IdiomaManager;
import pe.com.nextel.main.MVCAction;      

/**

 */
public class MVCClienteBusqueda extends MVCAction {
     
    private OTextFieldDecimal txtCodigo;
    private OSoftKey cmdBuscar, cmdBusqOnline, cmdAtras;
    private ODropDownList dropUpList ;
    private boolean flagForm; // para que no presione dos veces al momento de buscar
 
    
    public MVCClienteBusqueda() {
    }

    protected void createView() {
        
        cmdBuscar = new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_BUSCAR));//"Buscar"
        cmdBusqOnline = new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_FUERARUTA));//"Fuera de ruta"
        cmdAtras = new OSoftKey(Configuracion.BOTON_ATRAS );//(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_ATRAS));
          
        formulario.setTitle(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_BUSCAR_CLIENTES), OUILook.PLAIN_SMALL_TITLE);//"Buscar Clientes"

        formulario.addSoftKey(cmdBuscar);
        formulario.addSoftKey(cmdBusqOnline);
        formulario.addSoftKey(cmdAtras);
    }
    
    protected void createItems() {
        
        flagForm = true;
        
        ControlCliente.getInstance().limpiarMemoria();
        ControlCobranza.getInstance().limpiarMemoria();
        ControlPedido.getInstance().limpiarMemoriaTransacciones();
        
        String  items[]={ "1) "+IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_NOMBRE), "2) "+IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_CODIGO)};//Nombre ; C\u00F3digo

        formulario.add(new OLabel(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_BUSCAR)+":", OUILook.PLAIN_SMALL_TEXT),0, 1, Graphics.LEFT);//Buscar
        dropUpList = new ODropDownList (items,OUILook.PLAIN_SMALL_TEXT);
        formulario.add(dropUpList,1, 1, Graphics.RIGHT);

   
        txtCodigo = new OTextFieldDecimal(25, OUILook.PLAIN_SMALL_TEXT,  OTextField.ANY |OTextField.UPPERCASE, (Configuracion.SimboloDecimal).charAt(0));
        txtCodigo.isPermitirMasDecimal = true;
 
        txtCodigo.allowSpaces(true);
        formulario.add(txtCodigo);

        formulario.setFocusInd(1);

    }

    
   public void performAction(OSoftKey c) {
        
        if (flagForm) {
            
            flagForm = false;
            if (c == cmdBuscar) {
                
                 String campo = txtCodigo.getText().toUpperCase().trim( );
                 
                if (dropUpList.getSelectedIndex() == 1) {
//                    System.out.println("ClienteCOd = " + campo);
                    flagForm = true;
                    destroy();
                    ControlCliente.getInstance().buscarPorCodigoCliente(campo);
                } else {
                     flagForm = true;
                     destroy();
                    ControlCliente.getInstance().buscarPorNombreCliente(campo);
                }
                
            } else if (c == cmdBusqOnline) {
                flagForm = true;
                destroy();
                ControlCliente.getInstance().setCurrent(ControlCliente.getInstance().mvcClienteEnLinea);
               
            } else if (c == cmdAtras) {
                flagForm = true;
                destroy();
                
                ControlCliente.getInstance().setCurrent(ControlUsuario.getInstance().mvcMenu.showScreen( ));

            }
 
        }
    }

}
